package com.autumn.xa.a.tuling.jvm;

/**
 * ClassName: GCTest
 *
 * @Description:
 * @Author: wangqiuyang
 * @Date: 2022/6/25 2:19 PM
 * History:
 * <author>          <time>          <version>          <desc>
 * wangqiuyang    2022/6/25 2:19 PM   @Version 1.0        描述
 */
public class GCTest {
    // 添加运行JVM参数： -XX:+PrintGCDetails
    // 逐步展开注释 观察GC的分配
    public static void main(String[] args) throws InterruptedException {
        byte[] allocation1, allocation2, allocation3, allocation4, allocation5, allocation6;
        /* 默认eden里面会有5m系统占用的内存 */

        allocation1 = new byte[80000*1024];
        /* 这里的60m会全部分配到eden区域 */

        allocation2 = new byte[8000*1024];
        /* 这里的8m放入里面的时候会发生一次minorGC 之前的60m 会直接到老年代 旧的东西存入到s0 新的8m数据到eden*/

        allocation3 = new byte[1000*1024];
        /* 这里的1m 直接进入到eden */
        allocation4 = new byte[1000*1024];
        /* 这里的1m 直接进入到eden */
        allocation5 = new byte[1000*1024];
        /* 这里的1m 直接进入到eden */
        allocation6 = new byte[1000*1024];
        /* 这里的1m 直接进入到eden */
    }

}
